The present invention relates to a network relaying apparatus and a network relaying method, or in particular to a network relaying apparatus including a router of a computer network system which is capable of searching at high speed for a destination of a packet input and a network relaying search method.
Generally, in a network system, a network relaying apparatus such as a router or a bridge is used for connecting a plurality of networks. The router checks the destination address of a packet received from a network or a subnet connected, determines the destination of the packet, and transfers the packet to a network or a subnet which is connected with the destination router or host.
FIG. 13 is a diagram showing a configuration of a conventional network relaying apparatus. In FIG. 13, a router 100 includes a routing manager (RM) 110, router buses 120, network interfaces (NIF) 130 and ports 140. Each port 140 is connected to an appropriate network 150.
Each network interface 130 receives a packet from a network connected to the port 140, and transmits the received packet through the router bus 120 to the routing manager 110. The routing manager 110 includes a routing table for holding the routing information, and using this routing information, determines the network 150 of the destination from the address of the packet received, and transmits the packet to the network interface 130 of the port 140 connected to the network 150. The network interface 130 that has received the packet from the routing manager 110 sends out the packet to the destination network 150. The routing manager 110 updates and maintains the routing information held in the routing table based on the header information of the packet received, and has the function of overall management of the router 100.
An explanation will be given of the route search process for searching for a port outputting the next address to which the packet is to be transferred upon receipt of the packet and outputting the packet. Normally, the route search uses a route search table (routing table) prepared from the component definition information and the information obtained by exchange between the routers. The routing table is for searching the information (next hop information) as to the output port, the next hop address and whether the network is directly connected or not with a set of the network address and the network mask length as a key.
As another conventional system, JP-A-05-199230 (U.S. Pat. No. 5,434,863) discloses an inter-network system and a communication network system which can flexibly meet the size requirement of the network without adversely affecting the high-speed routing process. In these systems, a router manager and a plurality of routing accelerator modules are coupled to each other with a high-speed bus Also, each routing accelerator is connected with a plurality of independent communication ports. In these conventional systems, a plurality of the routing accelerators makes possible a high-speed routing and by adding the routing accelerators, the requirement for increasing the network size can be easily met.
The conventional router, however, cannot meet the requirement of the high speed lines such as the high-speed LAN (local area network) and the wide band ISDN (Integrated Services Digital Network) and ATM (asynchronous transfer mode) that have recently found applications. Also, the conventional router with only one routing means has the disadvantage that the number of ports and the communication traffic that can be supported are limited. It is therefore difficult to expand the configuration of the port menu of the router to a large size smoothly or to improve the performance in keeping with the port traffic volume.
Also, the router, for which the connection is not generally preset (packet communication), lacks the connection information table for ATM switch or the QoS (quality of service) control information in the connection information table. For the router to control the QoS, therefore, the flow search means for detecting the QoS control information from the information in the header is required for each input packet in addition to the priority transfer function like the ATM switch. The conventional router still fails to take the QoS control into account sufficiently.
In view of this situation, an object of the present invention is to provide a network relaying apparatus and method for routing packets at high speed while at the same time assuring a high communication quality (QoS), a high reliability and security.
Another object of the invention is to provide a network relaying apparatus and method for realizing a high-quality communication of the system as a whole by executing the QoS control at each of a plurality of points including an input unit, an output unit and a switch.
Still another object of the invention is to provide a network relaying apparatus and method for accomplishing stable communication for both high-speed and low-speed lines by performing the stable QoS control described above.
According to one aspect of the invention, there is provided a network relaying apparatus comprising:
at least a network interface connected to at least a network;
at least a routing processor including a QoS flow search unit on output side and a flow search table for storing the action corresponding to the reference conditions including the source information and the transfer destination information for routing the packets input from the network interface;
a routing manager for managing the internal components of the apparatus; and
a connector for connecting the routing manager and each of a plurality of the routing processors;
wherein a first network interface outputs the input packets from the network to a first routing processor connected with the first network interface;
wherein the first routing processor stores the input packets from the fist network interface in a packet buffer, searches for the transfer destination of the input packets stored in the packet buffer based on the stored header information, compares the reference information including the source and the transfer destination with the conditions specified in the flow search table, searches for the action in the entry with which a coincidence is determined, stores the searched information in the header information, performs the QoS control according to the header information, and in the case where the route to the searched transfer destination includes another routing processor, outputs to the connector the input packets stored in the packet buffer and the output packets produced according to the header information;
wherein the connector transmits the packets received from the first routing processor to the second routing processor of the searched transfer destination; and
wherein the second routing processor stores the input packets from the connector in a packet buffer, searches for the transfer destination of the input packets stored in the packet buffer based on the stored header information, stores the searched information in the header information, controls the QoS according to the header information, and outputs the input packets stored in the packet buffer and the output packets produced according to the header information, to the port connected to the route of the network interface connected with the local routing processor.
According to another aspect of the invention, there is provided a network relaying method for outputting an input packet from a network to a transfer destination in a network relaying apparatus comprising at least a network interface connected to at least a network, at least a routing processor for routing the packet input from the network interface, a routing manager for managing the internal components of the system, and a connector for connecting the routing manager and each of a plurality of-the routing processors,
wherein the routing processors on input side and output side execute the QoS flow search based on the reference information including the source or the transfer destination information, perform the QoS control by the action searched and-output an output packet, and
wherein the connector performs the QoS control by arbitration of the packets received from the routing processor on input side, and outputs the packet to the routing processor on output side.